package com.wymobilearchitecture.heade_frist.state;

import com.wymobilearchitecture.heade_frist.state.state.DispenseCandyStateItem;
import com.wymobilearchitecture.heade_frist.state.state.HasQuarterStateItem;
import com.wymobilearchitecture.heade_frist.state.state.NoQuarterStateItem;
import com.wymobilearchitecture.heade_frist.state.state.SellShortStateItem;
import com.wymobilearchitecture.heade_frist.state.state.State;

/**
 * 糖果机对象类
 */
public class CandyMachine {

    private State state;
    public NoQuarterStateItem noQuarterStateItem = new NoQuarterStateItem(this);
    public HasQuarterStateItem hasQuarterStateItem = new HasQuarterStateItem(this);
    public DispenseCandyStateItem dispenseCandyStateItem = new DispenseCandyStateItem(this);
    public SellShortStateItem sellShortStateItem = new SellShortStateItem(this);

    /**
     * 投币
     */
    public  void insertQuarter(){
        state.insertQuarter();
    }

    /**
     * 退币
     */
    public void ejectQuarter(){
        state.ejectQuarter();
    }

    /**
     * 发糖
     */
    public void dispense(){
        state.dispense();
    }


    public void setState(State state){
        this.state = state;
    }

    public State getState(){
        return state;
    }
}
